【祝】スーパー玉出がPayPayに対応したのでスーパー玉出ダッシュボードを改修しました #Alteryx #Tableau

【祝】スーパー玉出がPayPayに対応したのでスーパー玉出ダッシュボードを改修しました #Alteryx #Tableau

時代は玉pay
Clock Icon2019.10.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんちは。DA事業本部@大阪オフィスの玉井です。

みなさん、ついにスーパー玉出(の一部店舗)がPayPayでの支払いに対応しました。というわけで、以前作成したスーパー玉出ダッシュボードに「PayPayが使えるかどうか」のフラグデータを追加したので、その作業経緯をここに記します。

スーパー玉出ダッシュボードについて

スーパー玉出のPayPay対応について

きっかけは弊社大阪オフィスのSlackチャネル。

なぜ玉出の情報が会社のSlackで共有されるのかはよくわかりませんが、そのニュースを見た私は2秒で玉出のHPにアクセスしました。そして店舗情報を見ると…

対応してた

しかし、まだ対応しているのは一部の店舗のみ。これは対応している店舗としていない店舗がひと目でわかるように、以前作成したスーパー玉出ダッシュボードにデータを追加しないと大変なことになるのは火を見るより明らかでした。

PayPay対応可否のデータを取得する

というわけで、玉出の店舗情報をスクレイピングするAlteryxワークフローを改修します。

作業環境

  • Windows 10 Pro
  • Alteryx Designer 2019.3
  • Tableau Desktop 2019.3

全体の作業の流れ

  1. 玉出の店舗情報に記載されているPayPay対応に関するテキストを取得する
  2. テキストから余分な文字列を除去し、句読点で分割してPayPay対応の店舗名を取得する
  3. 既存の玉出店舗データと店舗名で結合する
  4. 結合した店舗は「PayPay対応」、結合しなかった店舗は「PayPay非対応」とする
  5. これらのデータをTableau Desktopで可視化する

手動で追加した方が早いとか言ってはいけない。

Alteryxワークフロー

ワークフロー全体

ワークフローの最終形態はこちら。

追加分

今回追加した部分はこちら。

強引なWebスクレイピング

肝心のデータ取得部分ですが、前回に引き続き、今回もかなり強引です。

まず、「とりあえずここのテキストさえとれればいい」という精神のもと、事前に取得している店舗一覧ページのHTMLに対して、PayPay画像の下のテキストだけを正規表現(Regexツール)で狙い撃ちます。

<img src="http://www.supertamade.co.jp/img/index_bnr_webflyer.jpg" alt="" width="660" height="100" />(.*?)</p>

次にHTMLタグを除去します。

次に*現在使用できるのは上記店舗のみですが、月上旬をめどに全店舗での導入を進めています。という文言を除去します(特定の文字以降を空白に置換する)。

最後にこのテキストをで分割します。ポイントはツール設定をSplit to rowsにすることです。これにより、分割後のデータが行に分割されます。

できあがったデータがこちら。

既存の玉出データと結合する

上記のデータを、既存データと「店舗名」で結合します。

結合しなかった店舗は「PayPay非対応店舗」として必要なので、ユニオンツールも使って左外部結合にします。そして、値がnullの店舗は「PayPay非対応店舗」なので、フォーミュラツールで計算式を入れて完成です。

Tableauダッシュボード

データを今回作成したものに置換して、PayPayカラムをフィルタとして設置するだけです。

動的に操作できるスーパー玉出ダッシュボードはこちら

今回の可視化でわかったこと

上記のダッシュボードを見ていただければわかるのですが、2019年10月4日現在、PayPayに対応しているのは大阪市内と尼崎店だけです。大阪市外の店舗はどこも未対応でした。しかも、大阪市内の中でも、なんとなく都会なところだけが対応している感じがしており、想像してたよりわかりやすい形でPayPayが使える店とそうでない店が可視化された形となりました。

おわりに

きみも今すぐ玉Pay(玉出でPayPay)しよう。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.